package com.sinosoft.ebusiness.domain.elementManage;
// 采用工具 Hibernate Tools 3.2.4.GA (sinosoft version) 生成，请勿手工修改。

import javax.persistence.Column;
import javax.persistence.Embeddable;

/**
 * POJO类GeProductTemplateViewgroupId
 */
@Embeddable
public class GeProductTemplateViewgroupId implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3074712567040996363L;

	/** 属性groupcode */
	private String groupcode;

	/** 属性processcode */
	private String processcode;

	/** 属性productcode */
	private String productcode;

	/** 属性版本号 */
	private String version;

	/**
	 * 类GeProductTemplateViewgroupId的默认构造方法
	 */
	public GeProductTemplateViewgroupId() {
	}

	/**
	 * 属性groupcode的getter方法
	 */

	@Column(name = "GROUPCODE")
	public String getGroupcode() {
		return this.groupcode;
	}

	/**
	 * 属性groupcode的setter方法
	 */
	public void setGroupcode(String groupcode) {
		this.groupcode = groupcode;
	}

	/**
	 * 属性processcode的getter方法
	 */

	@Column(name = "PROCESSCODE")
	public String getProcesscode() {
		return this.processcode;
	}

	/**
	 * 属性processcode的setter方法
	 */
	public void setProcesscode(String processcode) {
		this.processcode = processcode;
	}

	/**
	 * 属性productcode的getter方法
	 */

	@Column(name = "PRODUCTCODE")
	public String getProductcode() {
		return this.productcode;
	}

	/**
	 * 属性productcode的setter方法
	 */
	public void setProductcode(String productcode) {
		this.productcode = productcode;
	}

	/**
	 * 属性版本号的getter方法
	 */

	@Column(name = "VERSION")
	public String getVersion() {
		return this.version;
	}

	/**
	 * 属性版本号的setter方法
	 */
	public void setVersion(String version) {
		this.version = version;
	}

	public boolean equals(Object other) {
		if ((this == other)) {
			return true;
		}
		if ((other == null)) {
			return false;
		}
		if (!(other instanceof GeProductTemplateViewgroupId)) {
			return false;
		}
		GeProductTemplateViewgroupId castOther = (GeProductTemplateViewgroupId) other;

		return ((this.getGroupcode() == castOther.getGroupcode()) || (this
				.getGroupcode() != null && castOther.getGroupcode() != null && this
				.getGroupcode().equals(castOther.getGroupcode())))
				&& ((this.getProcesscode() == castOther.getProcesscode()) || (this
						.getProcesscode() != null
						&& castOther.getProcesscode() != null && this
						.getProcesscode().equals(castOther.getProcesscode())))
				&& ((this.getProductcode() == castOther.getProductcode()) || (this
						.getProductcode() != null
						&& castOther.getProductcode() != null && this
						.getProductcode().equals(castOther.getProductcode())))
				&& ((this.getVersion() == castOther.getVersion()) || (this
						.getVersion() != null && castOther.getVersion() != null && this
						.getVersion().equals(castOther.getVersion())));
	}

	public int hashCode() {
		int result = 17;

		result = 37 * result
				+ (getGroupcode() == null ? 0 : this.getGroupcode().hashCode());
		result = 37
				* result
				+ (getProcesscode() == null ? 0 : this.getProcesscode()
						.hashCode());
		result = 37
				* result
				+ (getProductcode() == null ? 0 : this.getProductcode()
						.hashCode());
		result = 37 * result
				+ (getVersion() == null ? 0 : this.getVersion().hashCode());
		return result;
	}

}
